package com.haiwen.responsee;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 韩要雷
 *
 * 响应重定向
 */
/*
* 请求转发和重定向的区别：
* 1.请求转发是服务器的跳转，重定向是客户端的跳转
* 2.请求转发只有一次请求，重定向是两次请求
* 3.请求转发 可以共享request的作用域中的数据，而重定向不可以共享数据
* 4.请求转发 地址栏不发生变化，而重定向地址栏改变
* 5.请求转发只能转发当前服务器的资源，而重定向可以跳转到任意页面*/
@WebServlet("/response02")
public class Response02 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        System.out.println("Response02....");

        //设置作用域
        req.setAttribute("userName","zhangsan");

       /* //重定向到页面
        resp.sendRedirect("login.jsp");*/

        //重定向到servlet
       /* resp.sendRedirect("response03");
*/
        //请求转发到页面
        //req.getRequestDispatcher("login.jsp").forward(req,resp);

        //请求转发到servlet
        //req.getRequestDispatcher("response03").forward(req,resp);

        //重定向到百度
        //resp.sendRedirect("http://www.baidu.com");

        //请求转发跳转百度---不可以
        //req.getRequestDispatcher("http://www.baidu.com").forward(req,resp);
    }
}
